home *** CD-ROM | disk | FTP | other *** search
- ;C-Script v5.0 ⌐ 1998 C-Team. All rights reserved.
- ;Configure at your own risk
- ;C-Script Browser
-
- ;==========
- ;WWW Browser
- ;==========
-
- ;Events
- on 1:close:@:if ($target == @c-scriptábrowser) { sockclose cswww | unset %www.* | .timerwww off }
- on 1:sockread:cswww {
- if ($sockerr > 0) { www.notice Error retrieving $+ $www.add $+ | set %www.err 1 | return }
- .timerwww 1 60 www.err Error in retrieving $+ $www.add $+
- if (%www.gt == $null) {
- :nextread
- sockread %www.read
- if ($sockbr == 0) { return }
- if (Content-Type: isin $gettok(%www.read,1,32)) { set %www.type $gettok(%www.read,2,32) }
- if (Content-length: isin $gettok(%www.read,1,32)) { set %www.size $gettok(%www.read,2,32) }
- if (Location: isin $gettok(%www.read,1,32)) {
- if (%twww.count == 1) { unset %twww.count | www.err Error in retrieving $+ $www.add $+ | halt }
- set %twww.count 1
- unset %www.add | sockclose cswww | www $gettok(%www.read,2-,32) | halt
- }
- if (%www.read == $null) { goto next }
- goto nextread
- :next
- set %www.gt yes | set %www.rcvd2 $sock(cswww).rcvd
- }
- if (%www.type == $null) { set %www.type text/html }
- if (%www.type == text/html) {
- :nextread2
- sockread %www.read
- if ($sockbr == 0) { return }
- write "sysfiles\www\temp.html" %www.read
- goto nextread2
- }
- if ($window(@c-scriptábrowser).x != $null) { window -n @C-Scriptábrowser }
- if (%www.download == $null) {
- .remove sysfiles\www\temp.tmp
- wincheck @www.download -p +f @www.download $center(243,75) 243 75 comic sans ms 12
- drawfill @www.download 15 15 0 0
- drawrect -f @www.download 2 1 0 0 300 17
- drawtext -o @www.download 0 arial 14 3 1 C-Script
- drawx 183 45 51 18 @www.download Cancel
- drawtext @www.download 1 arial 13 1 19 Downloading $gettok($gettok(%www.add,2,32),$calc($count($gettok(%www.add,2,32),/) + 1),47)
- drawx 185 2 15 14 @www.download nx | drawx 201 2 15 14 @www.download mxx | drawx 219 2 15 14 @www.download Xx
- set %www.download 1 | set %www.time $ctime
- }
- :nextread3
- sockread &www.read
- bwrite "sysfiles\www\temp.tmp" -1 &www.read
- if ($sockbr == 0) { return }
- set %www.rcvd $sock(cswww).rcvd
- if (%www.size == $null) { set %www.size Unknown } | if (%www.rcvd == $null) { set %www.rcvd Unknown }
- drawrect -f @www.download 15 4 125 30 150 13 | set %www.time2 $calc($ctime - %www.time)
- if (%www.size == unknown) && (%www.rcvd == unknown) { drawtext @www.download 1 arial 13 1 30 Size: %www.size Total received: %www.rcvd }
- if (%www.size == unknown) && (%www.rcvd != unknown) { drawtext @www.download 1 arial 13 1 30 Size: %www.size Total received: $kbyte($calc(%www.rcvd - %www.rcvd2)) ( $+ $round($calc($int($calc(%www.rcvd * .001)) / %www.time2),1) k sec) }
- if (%www.size != unknown) && (%www.rcvd == unknown) { drawtext @www.download 1 arial 13 1 30 Size: $kbyte(%www.size) Total received: %www.rcvd }
- if (%www.size != unknown) && (%www.rcvd != unknown) { drawtext @www.download 1 arial 13 1 30 Size: $kbyte(%www.size) Total received: $kbyte($calc(%www.rcvd - %www.rcvd2)) ( $+ $round($calc($int($calc(%www.rcvd * .001)) / %www.time2),1) k sec) }
- if (%www.size isnum) && (%www.rcvd isnum) { progbar %www.size $calc(%www.rcvd - %www.rcvd2) @www.download 71 50 }
- goto nextread3
- }
- on 1:sockopen:cswww {
- if ($sockerr > 0) { .timerwww off | www.err Error retrieving $+ $www.add $+ | set %www.err 1 | return }
- .timerwww 1 60 www.err Error in retrieving $+ $www.add $+
- sockwrite -tn $sockname GET / $+ $gettok(%www.add,2,32) HTTP/1.0 $cr $+ $lf $+ $cr $+ $lf
- }
- on 1:sockclose:cswww:www.end
- ;Help
- alias wwwhelp {
- wincheck @C-ScriptáBrowser -l19 @C-ScriptáBrowser $center(634,380) 634 380 @C-ScriptáBrowser comic sans ms 12
- loadbuf -p @c-scriptábrowser sysfiles\www\help.txt
- }
- ;Menu
- menu @www.download {
- sclick {
- if ($inrect($mouse.x,$mouse.y,185,2,15,14) == $true) { drawx2 185 2 15 14 @www.download | .timercl -m 1 200 window -n @www.download | .timerc2 -m 1 200 drawx 185 2 15 14 @www.download nx }
- if ($inrect($mouse.x,$mouse.y,183,45,51,18) == $true) { drawx2 183 45 51 18 @www.download | .timercl -m 1 200 window -c @www.download | sockclose cswww | .timerwww off | www.notice Cancelled downloading $+ $www.add $+ ... | unset %www.* }
- }
- }
- menu @C-ScriptáBrowser {
- dclick www.gourl
- Load URL...:www $$?="Address:"
- -
- Bookmark(s)
- . $+ $www.bkmrkadd $+ :www.bookmark %swww.bkmrk
- .-
- . $+ $www.rbh(1,bk) $+ :www.bkfile 1
- . $+ $www.rbh(2,bk) $+ :www.bkfile 2
- . $+ $www.rbh(3,bk) $+ :www.bkfile 3
- . $+ $www.rbh(4,bk) $+ :www.bkfile 4
- . $+ $www.rbh(5,bk) $+ :www.bkfile 5
- . $+ $www.rbh(6,bk) $+ :www.bkfile 6
- . $+ $www.rbh(7,bk) $+ :www.bkfile 7
- . $+ $www.rbh(8,bk) $+ :www.bkfile 8
- . $+ $www.rbh(9,bk) $+ :www.bkfile 9
- . $+ $www.rbh(10,bk) $+ :www.bkfile 10
- . $+ $www.rbh(11,bk) $+ :www.bkfile 11
- . $+ $www.rbh(12,bk) $+ :www.bkfile 12
- . $+ $www.rbh(13,bk) $+ :www.bkfile 13
- . $+ $www.rbh(14,bk) $+ :www.bkfile 14
- . $+ $www.rbh(15,bk) $+ :www.bkfile 15
- . $+ $www.rbh(16,bk) $+ :www.bkfile 16
- . $+ $www.rbh(17,bk) $+ :www.bkfile 17
- . $+ $www.rbh(18,bk) $+ :www.bkfile 18
- . $+ $www.rbh(19,bk) $+ :www.bkfile 19
- . $+ $www.rbh(20,bk) $+ :www.bkfile 20
- . $+ $www.rbh(21,bk) $+ :www.bkfile 21
- . $+ $www.rbh(22,bk) $+ :www.bkfile 22
- . $+ $www.rbh(23,bk) $+ :www.bkfile 23
- . $+ $www.rbh(24,bk) $+ :www.bkfile 24
- . $+ $www.rbh(25,bk) $+ :www.bkfile 25
- . $+ $www.rbh(26,bk) $+ :www.bkfile 26
- . $+ $www.rbh(27,bk) $+ :www.bkfile 27
- . $+ $www.rbh(28,bk) $+ :www.bkfile 28
- . $+ $www.rbh(29,bk) $+ :www.bkfile 29
- Home ( $+ $www.rbh(home) $+ )
- .Load:www $www.rbh(home)
- .Set...:writeini sysfiles\www\settings.ini www home $$?="Address:"
- Recent
- . $+ $www.rbh(1,www) $+ :www.file n1
- . $+ $www.rbh(2,www) $+ :www.file n2
- . $+ $www.rbh(3,www) $+ :www.file n3
- . $+ $www.rbh(4,www) $+ :www.file n4
- . $+ $www.rbh(5,www) $+ :www.file n5
- . $+ $www.rbh(6,www) $+ :www.file n6
- . $+ $www.rbh(7,www) $+ :www.file n7
- . $+ $www.rbh(8,www) $+ :www.file n8
- . $+ $www.rbh(9,www) $+ :www.file n9
- . $+ $www.rbh(10,www) $+ :www.file n10
- .-
- .Clear:remini sysfiles\recent.ini www
- -
- Help:wwwhelp
- Close:sockclose cswww | unset %www.* | .timerwww off | window -c @C-ScriptáBrowser
- }
- ;For dl'ing recent files
- alias www.file {
- set %file $readini sysfiles\recent.ini www $1
- www $replace(%file,$chr(32),/) | unset %file
- }
- ;Recent/homepage/bookmarks
- alias www.rbh {
- if ($1 == home) { return $readini sysfiles\www\settings.ini www home }
- if ($2 == www) {
- if ($1 == 1) { unset %www.adds }
- set %tmp1 n $+ $1
- set %www.read $readini -n sysfiles\recent.ini $2 %tmp1
- if ($findtok(%www.adds,%www.read,1,168) != $null || %www.read == $null) { unset %www.read | return }
- else { set %www.adds %www.adds $+ $chr(168) $+ %www.read | return $www.add(%www.read) }
- }
- if ($2 == bk) {
- if ($1 == 1) { unset %www.adds }
- set %www.read $readini sysfiles\www\settings.ini bookmarks $1
- if ($findtok(%www.adds,%www.read,1,168) != $null) { unset %www.read | return }
- else { set %www.adds %www.adds $+ $chr(168) $+ %www.read | return $gettok(%www.read,2,169) }
- }
- }
- ;Initiating browser
- alias www.initiate {
- wincheck @C-ScriptáBrowser -l19 @C-ScriptáBrowser $center(634,380) 634 380 @C-ScriptáBrowser comic sans ms 12
- if ($1 == $null) { wwwhelp }
- else www $1
- }
- ;Loading a page
- alias www {
- if (%www.add != $null) { sockclose cswww | unset %www.* | .timerwww off }
- if ($window(@C-ScriptáBrowser).state != normal) { www.initiate $1 | halt }
- set %www.add $1
- clear @C-ScriptáBrowser | clear -l @C-ScriptáBrowser
- titlebar @C-ScriptáBrowser
- if (%www.add == $null) { set %www.add $?="Address:" }
- set %www.add $www.parseadd(%www.add)
- www.notice Now retrieving $+ $www.add $+ ...
- .timer 1 3 www.nxt
- }
- alias www.nxt {
- if ($right($left(%www.add,3),2) == :\) {
- if ($exists($replace(%www.add,$chr(32),\)) == $false) { www.err Error in retrieving $+ $www.add $+ : File not found! | halt }
- elseif ($right(%www.add,4) == .exe || $right(%www.add,4) == .zip || $right(%www.add,4) == .cab || $right(%www.add,4) == .gif || $right(%www.add,4) == .wav || $right(%www.add,4) == .mid || $right(%www.add,4) == .ini || $right(%www.add,4) == .txt || $right(%www.add,4) == .jpg) { set %www.type file | .copy " $+ $replace(%www.add,$chr(32),\) $+ " sysfiles\www\temp.tmp }
- else { set %www.type text/html | .remove sysfiles\www\temp.html | .copy " $+ $replace(%www.add,$chr(32),\) $+ " sysfiles\www\temp.html | if %www.num == $null { set %www.num 1 } }
- www.end
- }
- else { sockopen cswww $gettok(%www.add,1,32) 80 | .timerwww 1 60 www.err Error in retrieving $+ $www.add $+ | if %www.num == $null { set %www.num 1 } }
- }
- alias www.add {
- if ($1- != $null) {
- if ($gettok($1-,2,32) != $null) { return $gettok($1-,2,32) @ $gettok($1-,1,32) }
- else return $gettok($1-,1,32)
- }
- elseif ($gettok(%www.add,2,32) != $null) { return $gettok(%www.add,2,32) @ $gettok(%www.add,1,32) }
- elseif ($gettok(%www.add,1,32) != $null) { return $gettok(%www.add,1,32) }
- else return
- }
- ;Information to the user
- alias www.notice clear -l @C-ScriptáBrowser | clear @C-ScriptáBrowser | if ($window(@c-scriptábrowser).x != $null) { echo @C-ScriptáBrowser $$1- } | else echo -a $+ $clr(info) $+ *** $$1- | return
- alias www.err window -c @www.download | unset %www.* | clear -l @C-ScriptáBrowser | clear @C-ScriptáBrowser | if ($window(@c-scriptábrowser).x != $null) { echo @C-ScriptáBrowser $$1- } | else echo -a $+ $clr(info) $+ *** $$1- | sockclose cswww
- ;Parsing of address
- alias www.parseadd {
- set %www.add $1
- if (%www.add == $null) { return www.c-script.com }
- if ($left($1,7) == http://) { set %www.add $mid(%www.add,8,100) }
- if ($right($left(%www.add,3),2) == :\) { set %www.add $nofile(%www.add) $nopath(%www.add) }
- else { set %www.add $gettok(%www.add,1,47) $gettok(%www.add,2-,47) }
- if (%www.add == $null) { return www.c-script.com }
- else return %www.add
- }
- ;Retrieved file, now log, parse, and present
- alias www.end {
- .timerwww off
- if (%www.err == 1) { unset %www.* | halt }
- addrec www %www.add
- if (%www.type == text/html || %www.type == $null) { set %tmp sysfiles\www\ $+ %www.num $+ .html | if ($exists(%tmp) == $true) { .remove %tmp } | .rename sysfiles\www\temp.html %tmp | www.parse %www.num }
- else { www.dlcomp | .window -c @www.download | .remove sysfiles\www\ $+ $gettok($gettok(%www.add,2,32),$calc($count($gettok(%www.add,2,32),/) + 1),47) | .remove "sysfiles\www\ $+ $gettok($gettok(%www.add,2,32),$calc($count($gettok(%www.add,2,32),/) + 1),47) $+ " | .rename "sysfiles\www\temp.tmp" "sysfiles\www\ $+ $gettok($gettok(%www.add,2,32),$calc($count($gettok(%www.add,2,32),/) + 1),47) $+ " }
- unset %www.*
- }
- ;Activates after a file has been downloaded
- alias www.dlcomp {
- if ($1 == $null) { clear @c-scriptábrowser | echo -a $+ $clr(info) $+ *** Finished downloading $mircdirsysfiles\www\ $+ $gettok($gettok(%www.add,2,32),$calc($count($gettok(%www.add,2,32),/) + 1),47) | set %download sysfiles\www\ $+ $gettok($gettok(%www.add,2,32),$calc($count($gettok(%www.add,2,32),/) + 1),47) | yesno 'www.dlcomp yes' 'www.dlcomp no' 'Finished downloading $www.add do you wish to run it?' }
- elseif ($1 == yes) { .run " $+ %download $+ " }
- elseif ($1 == no) { halt }
- else { echo -a $+ $clr(info) $+ *** Finished downloading $1 | set %download $1 | yesno 'www.dlcomp yes' 'www.dlcomp no' 'Finished downloading $1 do you wish to run it?' }
- }
- ;Parsing of HTML (Algorithm slightly referenced from MarkP's Internet tools)
- alias www.parse {
- unset %www.title %bkmrk.* | wincheck @C-ScriptáBrowser -l19 @C-ScriptáBrowser $center(634,380) 634 380 @C-ScriptáBrowser comic sans ms 12
- if $1 != $null { set %www.num $1 }
- else set %www.num 1
- set %twww.file %www.num | set %www.count 0 | set %www.line $mircdirsysfiles\www\ $+ %www.num $+ .html | set %www.line $lines(%www.line)
- :next
- inc %www.count | if %www.count > %www.line goto end
- set %www.ps $read -nl $+ %www.count sysfiles\www\ $+ %www.num $+ .html
- set %www.ps ^ $+ $replace(%www.ps,><,>^<) $+ ^
- set %www.ps $replace($replace($replace($replace(%www.ps,ALT=",>^<IMG_ALT "),<B>,),</B>,),href=",>12<A_HREF ")
- set %www.ps $replace(%www.ps,>,<)
- :next2
- if $mid($gettok(%www.ps,2,60),1,6) == script || $mid($gettok(%www.ps,2,60),1,5) == style { set %www.script 1 }
- if $gettok(%www.ps,2,60) == /script || $gettok(%www.ps,2,60) == /style { unset %www.script | goto next }
- if %www.script == 1 { goto next }
- if %www.title == 1 { set %www.t %www.t %www.ps }
- if $gettok(%www.ps,2,60) == /title { set %swww.bkmrk $readini sysfiles\recent.ini www [ n [ $+ [ %www.num ] ] ] $+ ⌐ $+ $mid($gettok(%www.t,1,60),3,999) $+ á | if ($left($mid($gettok(%www.t,1,60),2,999),1) == ^) { titlebar @C-scriptáBrowser $mid($gettok(%www.t,1,60),3,999) } | else { titlebar @C-scriptáBrowser $mid($gettok(%www.t,1,60),2,999) } | unset %www.title | goto next }
- if $gettok(%www.ps,2,60) == title { set %www.title 1 }
- if (< !isin %www.ps) { if $remove($remove($remove($remove($remove(%www.ps,),),$chr(9)),^),) != $null && %www.a == $null && $remove($remove($remove($remove($remove(%www.ps,),),$chr(9)),^),) !isnum && $remove($remove($remove($remove($remove(%www.ps,),),$chr(9)),^),) != $chr(32) { echo @C-Scriptábrowser $remove($remove($replace($replace($replace($replace($replace($replace($replace($replace(%www.ps,","), ,$chr(160)),©,⌐),®,«),<,<),>,>),&,&),©,⌐),$chr(9)),^) } | unset %www.a | goto next }
- if $left($gettok(%www.ps,2,60),6) == A_HREF { set %www.a $remove($gettok($remove($gettok(%www.ps,2,60),A_HREF "),1,32),") }
- if $gettok(%www.ps,2,60) == /a && %www.a != $null {
- if $gettok(%www.a,1,35) != $null && $left(%www.a,1) != $chr(35) { rline -l @c-scriptábrowser $next $gettok(%www.a,1,35) }
- if $remove($remove($remove($remove($remove($gettok(%www.ps,1,60),),),$chr(9)),^),) isnum { set %www.ps 12 $+ %www.a $+ $gettok(%www.ps,3-,60) }
- else set %www.ps $gettok(%www.ps,1,60) $+ $gettok(%www.ps,3-,60) | unset %www.a | goto next2
- }
- if $gettok($gettok(%www.ps,2,60),1,32) == IMG_ALT { set %www.ps $gettok(%www.ps,1,60) $+ (img) $+ $gettok($gettok(%www.ps,2,60),2,34) $+ (img) $gettok(%www.ps,3-,60) | goto next2 }
- set %www.ps $gettok(%www.ps,1,60) $+ $gettok(%www.ps,3-,60)
- goto next2
- :end
- unset %www.* | sline @C-ScriptáBrowser 15 | next 1
- }
- ;Bookmarking
- alias www.bookmark {
- :top
- if ($1 == $null) { www.notice Invalid parameters for adding a bookmark | unset %www.bkmrk* | halt }
- set %www.bkmrk.title $gettok($1-,2,169)
- set %www.bkmrk.site $gettok($1-,1,169)
- if (%www.bkmrk.site == $null) { goto top }
- if (%www.bkmrk.title == $null) { set %www.bkmrk.title $$?="Enter a name for this bookmark:" }
- if ($len(%www.bkmrk.title) > 40) { set %www.bkmrk.title $mid(%www.bkmrk.title,1,40) $+ ... }
- set %www.bkmrk.num $readini sysfiles\www\settings.ini bookmarks num | inc %www.bkmrk.num 1
- if (%www.bkmrk.num == $null) || (%www.bkmrk.num !isnum) || (%www.bkmrk.num > 10) { writeini sysfiles\www\settings.ini bookmarks num 1 | set %www.bkmrk.num 1 }
- else writeini sysfiles\www\settings.ini bookmarks num %www.bkmrk.num
- writeini sysfiles\www\settings.ini bookmarks %www.bkmrk.num %www.bkmrk.site $+ ⌐ $+ %www.bkmrk.title
- unset %www.bkmrk.*
- }
- ;Adding identifier for popup
- alias www.bkmrkadd if (%swww.bkmrk != $null) { return Add Bookmark }
- ;Returns the address of the specified bookmark
- alias www.bkfile {
- set %www.bkmrk.info $readini sysfiles\www\settings.ini bookmarks $1
- if (%www.bkmrk.info == $null) { www.notice Error in retrieving bookmark URL $1 | goto end }
- if ($gettok(%www.bkmrk.info,1,169) == $null) { www.notice Error in retrieving bookmark URL $1 | goto end }
- www $gettok(%www.bkmrk.info,1,169)
- :end
- unset %www.bkmrk.*
- }
- ;Loads webpage selected in the side listbox
- alias www.gourl {
- set %www.gourl $sline(@c-scriptábrowser,1)
- if ($left(%www.gourl,1) == $chr(35)) && (%bkmrk.num. [ $+ [ $mid(%www.gourl,2,1000) ] ] != $null) { sline @c-scriptábrowser %bkmrk.num. [ $+ [ $mid(%www.gourl,2,1000) ] ] | goto end }
- if ($left(%www.gourl,7) == mailto:) { mail.initiate $mid(%www.gourl,8,1000) | goto end }
- if ($left(%www.gourl,7) == http://) || ($left(%www.gourl,3) == www) { www $gettok(%www.gourl,1,35) | goto end }
- if ($left(%www.gourl,1) == /) { set %www.gourl $mid(%www.gourl,2,1000) }
- set %www.gourl.num $readini -n sysfiles\recent.ini www n1
- if ($left(%www.gourl,1) == .) {
- set %www.gourl.count 1- $+ $count(%www.gourl.num,/) | if ($right($left($gettok(%www.gourl.num,1,32),3),2) == :\) { set %www.gourl.num $gettok(%www.gourl.num,1,32) $+ $gettok($gettok(%www.gourl.num,2,32),%www.gourl.count,47) } | else { set %www.gourl.num $gettok(%www.gourl.num,1,32) $+ / $+ $gettok($gettok(%www.gourl.num,2,32),%www.gourl.count,47) }
- set %www.gourl.count 1- $+ $calc($count(%www.gourl.num,/) - $count($gettok(%www.gourl,1,47),.) + 1) | set %www.gourl.num $gettok(%www.gourl.num,%www.gourl.count,47)
- set %www.gourl $gettok(%www.gourl,2-,47) | goto next
- }
- if (/ isin $gettok(%www.gourl.num,2,32)) { set %www.gourl.count 1- $+ $count(%www.gourl.num,/) | if ($right($left($gettok(%www.gourl.num,1,32),3),2) == :\) { set %www.gourl.num $gettok(%www.gourl.num,1,32) $+ $gettok($gettok(%www.gourl.num,2,32),%www.gourl.count,47) } | else { set %www.gourl.num $gettok(%www.gourl.num,1,32) $+ / $+ $gettok($gettok(%www.gourl.num,2,32),%www.gourl.count,47) } }
- else set %www.gourl.num $gettok(%www.gourl.num,1,32)
- :next
- set %www.gourl.sep 1- $+ $count(%www.gourl,/)
- if ($gettok(%www.gourl,%www.gourl.sep,47) == $right(%www.gourl.num,$len($gettok(%www.gourl,%www.gourl.sep,47)))) {
- set %www.gourl.sep $calc($count(%www.gourl,/) + 1) $+ -
- set %www.gourl $gettok(%www.gourl,%www.gourl.sep,47)
- }
- if ($right($left($gettok(%www.gourl.num,1,32),3),2) == :\) { set %www.gourl %www.gourl.num $+ $gettok(%www.gourl,1,35) }
- else { set %www.gourl %www.gourl.num $+ / $+ $gettok(%www.gourl,1,35) }
- www %www.gourl
- :end
- unset %www.gourl*
- }
-